package com.kaili.finance.service.impl;

import com.baomidou.mybatisplus.plugins.Page;
import com.kaili.common.util.CommonUtil;
import com.kaili.finance.pojo.entity.*;
import com.kaili.finance.mapper.FinDetailSumMapper;
import com.kaili.finance.pojo.dto.detailSum.FinInOutDetailDTO;
import com.kaili.finance.pojo.dto.detailSum.finInOutQueryDTO;
import com.kaili.finance.pojo.dto.transSum.FinTransSumDetailQueryDTO;
import com.kaili.finance.pojo.dto.transSum.FinTransSumQueryDTO;
import com.kaili.finance.pojo.vo.*;
import com.kaili.finance.service.FinDetailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * Created by :xinglei
 * *  *  *  *  *  *  *  *  *
 *
 * @Created time :18-5-17.
 * @Company :杭州凯立通信有限公司
 * *  *  *  *  *  *  *  *  *
 * 交易汇总收入支出汇总
 */
@Service
public class FinDetailServiceImpl implements FinDetailService {
    @Autowired
    private FinDetailSumMapper finDetailSumMapper;


    @Override
    public Page<FinInOutVO> selectFinDetailPage(Page<FinInOutVO> page, finInOutQueryDTO dto){
        return page.setRecords(finDetailSumMapper.selectFinDetailPage(page,dto));
    }

    @Override
    public Page<FinInOutDetailVO> selectFinDetail(Page<FinInOutDetailVO> page,FinInOutDetailDTO dto) {;
        return page.setRecords(finDetailSumMapper.selectFinDetail(page,dto));
    }

    @Override
    public List<FinDetailSumExport> selectFinDetailSumExport(Map search) {
        return finDetailSumMapper.selectFinDetailSumExport(search);
    }
    @Override
    public List<FinDetailExport> selectFinDetailExport(Map search) {
        return finDetailSumMapper.selectFinDetailExport(search);
    }

    @Override
    public Page<FinDetailDayVO> selectFinTransSum(Page<FinDetailDayVO> page, FinTransSumQueryDTO dto) {
        return page.setRecords(CommonUtil.toList(finDetailSumMapper.selectFinTransSum(page,dto), FinDetailDayVO.class));

    }

    @Override
    public List<FinDictVO> selectAllChargeItem() {
        return finDetailSumMapper.selectAllChargeItem();
    }

    @Override
    public Page<FinTransSumDetailVO> selectFinTransDeatil(Page<FinTransSumDetailVO> page, FinTransSumDetailQueryDTO dto) {
        return page.setRecords(finDetailSumMapper.selectFinTransDeatil(page,dto));
    }

    @Override
    public List<TransSumExport> selectTransSumExport(Map search) {
        return finDetailSumMapper.selectTransSumExport(search);
    }

    @Override
    public List<TransDetailExport> selectTransDetailExport(Map search) {
        return finDetailSumMapper.selectTransDetailExport(search);
    }

    @Override
    public FinTransSumAmountVO selectFinTransSumAmount(FinTransSumQueryDTO dto) {
        return finDetailSumMapper.selectFinTransSumAmount(dto);
    }

    @Override
    public FinTransSumAmountVO selectFinDetailSumAmount(finInOutQueryDTO dto) {
        return finDetailSumMapper.selectFinDetailSumAmount(dto);
    }
}
